LocalConnection.connect()

Доступность

Flash Player 6.

Синтаксис

receiving_lc.connect(connectionName:String) : Boolean

Параметры

connectionName Строка, соответствующая имени соединения, передаваемого методу LocalConnection.send() объекта-отправителя в качестве параметра для соединения с объектом receiving_lc.

Возвращает

Булева величина: true если ни один из роликов, запущенных на данном компьютере не создал соединения с данным именем; false в противном случае.

Описание

Метод; готовит объект LocalConnection к получению команд, посланных при помощи вызова метода LocalConnection.send() объектом-отправителем LocalConnection). Объект, у которого вызывается данный метод, называется объектом-получательом LocalConnection. Объект-получатель и объект-отправитель должны быть запущены на одном компьютере.

Убедитесь, что Вы определили вызываемый метод у объекта receiving_lc до вызова данного метода.

По умолчанию, Flash Player преобразует connectionName в значение вида "superdomain:connectionName", где superdomain есть над-домен SWF файла, содержащего объект, у которого был вызван метод LocalConnection.connect(). Например, если SWF файл, содержащий объект-получатель, расположен в домене www.someDomain.com, connectionName преобразуется в "someDomain.com:connectionName". (Если SWF файл расположен на локальном сервере, superdomain равен "localhost".)

Также по умолчанию Flash Player позволяет объекту-получателю только от объекта-отправителя, чье имя соединения преобразуется в то же самое значение в виде "superdomain:connectionName". В этом случае, Flash позволяет SWF файлам взаимодействовать только если они находятся в одном домене.

Если Вы реализуете взаимодействие между SWF файлами в одном домене, указывайте имя в параметре connectionName так, чтобы оно не начиналось с символа подчеркивания (_) и так, чтобы оно не совпадало с именем домена (например, "myDomain:connectionName"). Тот же параметр передайте LocalConnection.connect(connectionName) объекта-получателя.

Если Вы реализуете взаимодействие SWF файлов в разных доменах, указание connectionName , начинающееся с символа подчеркивания (_), облегчит портацию SWF файла. Возможны два случая:

Для более подробной информации смотри LocalConnection.send(), LocalConnection.allowDomain и LocalConnection.domain().

Замечание: двоеточие используется в качестве разделителя имени соединения и над-домена в connectionName, поэтому использовать двоеточие в connectionName нельзя.

Пример

В следующем примере показано, как объект LocalConnection в SWF файле в определенном домене вызывает метод Trace у объекта-получателя в SWF файле в том же домене. Получатель исполняет роль функции trace() для отправителя; он имеет два метода, которые могут быть вызваны — Trace и Clear. Нажатие кнопок в файле с объектом-отправителем вызывает эти методы.

// Код в SWF файле-получателе сообщения
var aLocalConnection:LocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString):String{
  aTextField += aString + newline;
}
aLocalConnection.Clear = function(){
  aTextField = "";
}
aLocalConnection.connect("trace");
stop();

SWF 1 contains the following code, which создается новый объект Sound, воспроизводящий MP3 файл. Компонент ProgressBar playback_pb отображает процесс проигрыша MP3 файла. Компонент Label song_lbl отображает имя MP3 файла. Кнопки в различных роликах используются для контроля воспроизведения при помощи LocalConnection.

var playback_pb:mx.controls.ProgressBar;
var my_sound:Sound;
playback_pb.setStyle("themeColor", "haloBlue");
this.createEmptyMovieClip("timer_mc", this.getNextHighestDepth());
var receiving_lc:LocalConnection = new LocalConnection();
receiving_lc.playMP3 = function(mp3Path:String, mp3Name:String) {
  song_lbl.text = mp3Name;
  playback_pb.indeterminate = true;
  my_sound = new Sound();
  my_sound.onLoad = function(success:Boolean) {
    playback_pb.indeterminate = false;
  };
  my_sound.onSoundComplete = function() {
    delete timer_mc.onEnterFrame;
  };
  timer_mc.onEnterFrame = function() {
    playback_pb.setProgress(my_sound.position, my_sound.duration);
  };
  my_sound.loadSound(mp3Path, true);
};
receiving_lc.connect("lc_name");

SWF 2 содержит кнопку play_btn. Когда Вы нажимаете на нее, происходит соединение с SWF 1 и первому ролику передаются две переменные. Первая содержит имя MP3 файла, а вторая — строку, отображаему компонентом Label

play_btn.onRelease = function() {
  var sending_lc:LocalConnection = new LocalConnection();
  sending_lc.send("lc_name", "playMP3", "song1.mp3", "Album - 01 - Song");
};

SWF 3 также содержит кнопку play_btn. Когда Вы нажимаете на нее, происходит соединение с SWF 1 и первому ролику передаются две переменные. Первая содержит имя MP3 файла, а вторая — строку, отображаему компонентом Label

play_btn.onRelease = function() {
  var sending_lc:LocalConnection = new LocalConnection();
  sending_lc.send("lc_name", "playMP3", "song2.mp3", "Album - 02 - Another Song");
};

См. также

LocalConnection.send()